package de.metalcon.gwt.client.pages;

import java.util.ArrayList;

import de.metalcon.gwt.client.HistoryTokenAnalyzer;
import de.metalcon.gwt.client.modules.ADynamicModule;
import de.metalcon.gwt.client.modules.StreamModule;

public class StreamPage extends AModulePage {
	private String type = null; 
	private String key = null;
	
	public StreamPage(String[] parameter) {
		super(parameter);
		if (parameter.length>0){
			this.type = getParam(0);
			this.key = getParam(1);;
		}
	}

	@Override
	protected ArrayList<ADynamicModule> getModules() {
		ArrayList<ADynamicModule> list = new ArrayList<ADynamicModule>();
		list.add(new StreamModule(type, key));
		return list;
	}

	@Override
	
	public String getHistoryToken() {
		return generateHistoryToken(HistoryTokenAnalyzer.getPageParams());
	}

	public static String generateHistoryToken() {
		return getHistoryTokenPrefix();
	}
	
	public static String getHistoryTokenPrefix() {
		return "Stream";
	}

	public static String generateHistoryToken(String params[]) {
		return HistoryTokenAnalyzer.GeneratePageToken(getHistoryTokenPrefix(), params);
	}
}